Wavelet-based mesh coding method

ABSTRACT

A method is provided for coding a source mesh (M) representing a three-dimensional object or a scene, using a simple mesh (M 0 ) having a limited number of facets, each defined by vertices and edges, and coefficients in a base of wavelets, corresponding to local modifications of the simple mesh (M 0 ), and making it possible, at each instant, to determine a function of parameterization of the mesh. The method includes a step to eliminate the effect of at least one wavelet coefficient (d; d 1 , . . . , dn) verifying at least one criterion of non-essentiality, so as to give a partial mesh (M′), corresponding to a partial representation of the source mesh (M).

CROSS-REFERENCE TO RELATED APPLICATION

This Application is a Section 371 National Stage Application ofInternational Application No. PCT/FR01/03675, filed Nov. 21, 2001 andpublished as WO 02/43005 on May 30, 2002 not in English.

FIELD OF THE INVENTION

The field of the invention is that of the coding of images or imageelements (or picture elements). More specifically, the invention relatesto the representation and adaptive coding of three-dimensional (3D)scenes (or objects of scenes) represented by meshes.

BACKGROUND OF THE INVENTION

The invention can be applied in all fields where it is desirable toreduce the number of pieces of information necessary for the efficientrepresentation of the digital image, in order to store it and/ortransmit it. For example, the invention can be used for the transmissionof images through the Internet. In this context, it enables theanimation of 3D scenes with a real-time display, although the bit rateis neither constant nor guaranteed. In this case, the invention may be aprimitive of a data transmission language such as VRML (or “VirtualReality Modeling Language”).

Other applications that may be envisaged include the storage of animateddata on CD-ROM (or any equivalent data carrier), multiple-userapplications, digital television etc.

The invention proposes an improvement in methods known as“wavelet-based” methods through which a mesh can be represented as asuccession of details added to a base mesh. The general theory of thistechnique is described especially in M. Lounsbery, T. DeRose and J.Warren, “Multiresolution Analysis for Surfaces of Arbitrary TopologicalType” (ACM Transactions on Graphics, Vol. 16, No. 1, pp. 34-73).

According to this technique, a mesh is represented by a sequence ofcoefficients corresponding to the coordinates, in a wavelet base, of aparametrization of said mesh by a simple polyhedron.

A surface S in space can be represented as the image of an injectivecontinuous function defined on a polyhedron M_(o) of the sametopological type and having values in R³. It is then said that thesurface is parametrized by the polyhedron, and the said function iscalled “parametrization”. This function is a triplet of functions withvalues in R, each of which can be developed in a base of the spaceC^(o)(M_(o)) of the continuous functions on the polyhedron with valuesin R.

In the case of the mesh surfaces, this technique is used to obtain acompressed representation of the mesh. Furthermore, the use of waveletsas basic functions enables a progressive representation from the mostapproximate shape to the most detailed shape.

These functions are not wavelets in the classic sense, but comply withrefining relationships that generalize the concept of multiresolutionanalysis: let M_(o) be a polyhedron on which a parametrization with asurfaceM is defined. We consider the sub-space S_(o) of C^(o)(M_(o))generated by the functions φ_(i) ^(o) defined as follows: φ_(i) isaffine on each facet; it is equal to 1 on the ith vertex and 0 on allthe others.

A definition is made, in the same way, of the sub-spaces S_(j) generatedby the functions φ_(i) ^(j) defined in the same way but in replacingM_(o) by the mesh M_(j) obtained in canonically subdividing each facetof M_(j−1). The spaces S_(j) are finite in dimension and nested, S_(o)being the smallest, and any continuous function of M_(o) in R can beapproached uniformly by a function of a value of S_(j) for j as a fairlygreat value.

It is this inclusion that enables the progressive coding: if W_(j)denotes a supplementary of S_(j) in S_(j+1) and {ψ_(i) ^(j)}_(i) (thewavelets) a base of W_(j) the set

$\left\{ \phi_{i}^{o} \right\}_{i}\bigcup{\bigcup\limits_{j \geq o}\left\{ \psi_{i}^{j} \right\}_{i}}$

forms a base of C^(o)(M_(o)). The function p parametrizing M istherefore written uniquely as

where the values C_(i) and the values d_(i) ^(j) are in R³, and arecalled wavelet coefficients.

In practice, the wavelets are chosen in such a way that their supportenables a determining of the wavelet coefficients in O(n), where n isthe number of vertices of the mesh M: for k as a fixed integer, ifD_(k,i) denotes the set of the indices of the vertices of a mesh M_(j)which are at a distance of less than k edges from the vertex i, thewavelet ψ_(i) ^(j) is given by

${\psi_{i}^{j} = {\phi_{i}^{j + 1} + {\sum\limits_{l \in D_{k,i}}{\alpha_{l}\phi_{l}^{j}}}}},$

in such a way that ψ_(i) ^(j) is with a support in D_(k+1,i).

Thus, during the reconstruction, the influence of a wavelet coefficientis limited to a neighborhood of this kind.

In practice, during the reconstruction, the base mesh M₀ is representedin arborescent form: each of its faces is the root of a tree where thechildren of each node are the four faces obtained after canonicalsubdivision. The wavelet coefficients are indexed by their barycentriccoordinates on one face of M₀.

The method of display comprising data structures and algorithms enablingthe progressive reconstruction of meshes represented by wavelets hasbeen proposed by A. Certain, J. Popovic, T. DeRose, D. Salesin and W.Stuetzle in “Interactive Multiresolution Surface Viewing”, (ComputerGraphics Proceedings 1996).

This method is generally considered to be the method of reference in thefield of the display of surfaces represented by wavelets.

This technique consists in taking account of packets of waveletcoefficients and in regularly refining the mesh as a function of thesecoefficients.

Although it is efficient for the progressive reconstruction of meshes,this method has the drawback of not enabling an adaptive display ofthree-dimensional scenes or objects.

Indeed, one drawback of this prior art technique is that it induces thecreation, by subdivision, of unnecessary facets. This gives rise to anunnecessary increase in the number of pieces of data needed for thedescription of the mesh.

A technique of this kind is therefore far too cumbersome in terms ofdata to be transmitted to enable an adaptive display of 3D scenes orobjects, especially when the objects are animated, when the power of thedisplay terminal is low and/or when the transmission bit rate isvariable and/or limited.

It is a goal of the invention especially to overcome these drawbacks ofthe prior art.

More specifically, it is a goal of the invention to implement atechnique for the coding of meshes representing 3D objects and scenes,enabling an adaptive reconstruction of a mesh within a display terminal.

In particular, it is a goal of the invention to provide a coding methodof this kind enabling an adaptive display of a 3D object or scene as afunction of parameters, such as, for example, an observer's viewpoint.

It is another goal of the invention to provide a coding method of thiskind enabling the user to navigate within a 3D scene refreshed at asubstantially constant rate, independently of the parameters of thenavigation or size of the associated mesh.

It is also a goal of the invention, naturally, to provide a techniquefor the reconstruction and transmission through a communications networkof a coding object according to this coding method.

SUMMARY OF THE INVENTION

These goals as well as others that shall appear hereinafter, areachieved by means of a method for coding a source mesh (M) representinga three-dimensional object or a scene, using a simple mesh (M₀) having alimited number of facets, each defined by vertices and edges, andcoefficients in a base of wavelets, corresponding to local modificationsof said simple mesh (M₀), and making it possible, at each instant, todetermine a function of parametrization of the mesh.

According to the invention, a method such as this comprises a step toeliminate the effect of at least one wavelet coefficient (d; d1, . . . ,dn) verifying at least one criterion of non-essentiality, so as to givea partial mesh (M′), corresponding to a partial representation of saidsource mesh (M).

Thus, the invention relies on a wholly novel and inventive approach tothe coding of wavelet-based meshes representing 3D objects or scenes.Indeed, the invention relies especially on the elimination of thewavelet coefficients associated with details of a 3D scene or objectthat are not essential to the viewing of such a scene or such an objectby an observer.

A coding method of this kind makes it possible especially to eliminatewavelet coefficients, as well as their influence on the representationof the 3D scene considered, in a period of time substantially equal tothe time necessary to add them. In this way, a coding technique of thiskind makes it possible, at any time, to add coefficients that havebecome essential and eliminate coefficients whose influence may beconsidered to be negligible, and to do so homogeneously, i.e. withoutthe refresh rate of a representation of the 3D scene being dependent onthe parameters of navigation within this scene or on the size of thereconstructed mesh.

According to a first advantageous characteristic of the invention, awavelet coefficient verifies a criterion of non-essentiality if it isassociated with a facet of said simple mesh (M₀) not belonging to thevisible part of said source mesh (M).

The invention thus enables the elimination of the wavelet coefficientswhich are not visually relevant for the representation of the 3D sceneor object considered.

According to a second advantageous characteristic of the invention, awavelet coefficient verifies a criterion of non-essentiality if theamplitude of said coefficient is below a threshold, determined as afunction of the distance between an observer and a vertex indexing saidcoefficient.

The invention also enables the elimination of the effect of waveletcoefficients whose amplitude may be considered to be negligible for thedisplay of the 3D scene or object considered.

Preferably, a coding method of this kind comprises a step for thecomputation of said threshold, taking account of said distance and of anindicator of capacity of a terminal for the display of saidthree-dimensional object or scene.

The invention therefore enables an elimination of the effect of certainwavelet coefficients, adapted to the capacity of the terminal to displaythe 3D scene or object considered. Thus, when the display terminal hashigh processing capacity, the threshold is low, so as to preserve agreater number of wavelet coefficients during the coding of the mesh.Conversely, in the presence of a low-capacity display terminal, thethreshold computation step leads to a high result, so that the effect ofa larger number of wavelet coefficients is eliminated during theelimination step.

According to a first alternative embodiment, said capacity indicator isa constant depending on the processing capacity of said terminal.

The value of such a constant is fixed, for example, as a function of thetype of processor with which the display terminal is equipped.

According to a second alternative embodiment, said capacity indicatorvaries during the display of said three-dimensional object or scene, asa function of the current processing capacity of said terminal.

The value of such a capacity indicator may thus be adapted as a functionof the number of images per second that it should be possible to displayon the terminal, and varies, for example, as a function of the resourcesused by other applications processed by the terminal at a given point intime.

Advantageously, a coding method of this kind comprises a step for theflattening of the mesh by the addition, to said parametrizationfunction, of the opposite of said wavelet coefficient or coefficients(d; d1, . . . , dn) to be eliminated.

Thus, the influence of a non-essential coefficient is cancelled by theaddition of the opposite of this coefficient.

According to an advantageous characteristic of the invention, saidpartial mesh (M′) corresponds to a set of trees, each of said treesrepresenting a face of said simple mesh (M₀) and comprising a set ofnodes each representing a face of a refined mesh (M_(j)) of the faceconsidered of said simple mesh (M₀).

Preferably, a coding method of this kind comprises a step for thewithdrawal of at least one wavelet coefficient (d; d1, . . . , dn) to beeliminated, comprising the following steps:

-   -   the taking into account of the opposite of said wavelet        coefficient or coefficients (d; d1, . . . , dn);    -   the taking into account of the modifications induced by the        previous step;    -   the elimination of the parts of the trees defining (M′) and        influenced solely by said wavelet coefficient or coefficients        (d; d1, . . . , dn).

Thus, such a step consists in adding the opposite of the waveletcoefficient that has become unnecessary, taking account of thegeometrical modifications induced on the mesh by such an elimination ofthe wavelet coefficient, and pruning the tree representing the mesh inhierarchical form.

Advantageously, a coding method of this kind implements a set ofpointers respectively pointing to all the vertices of said partial mesh,so as to directly reach a vertex indexing a wavelet coefficient to beeliminated.

Preferably, said pointers are assembled in a table of integers (VPC).

Thus, the addition of the opposite of a wavelet coefficient to beeliminated is not done like the addition of a regular waveletcoefficient, but by introducing an additional structure (VPC), which isa table whose i^(th) element is the index of the vertex indexed by thei^(th) coefficient, if such a vertex exists.

According to an advantageous technique of the invention, said step oftaking the modifications into account implements a recursive pruningalgorithm.

The invention also relates to a signal structure representing a sourcemesh (M) representing a three-dimensional object or scene, codedaccording to the method described here above, comprising:

-   -   a basic field comprising data representing a simple mesh (M₀)        having a limited number of facets each defined by vertices and        edges;    -   at least one refining field comprising coefficients in a base of        wavelets, corresponding to local modifications of said simple        mesh (M₀), and making it possible, at each instant, to determine        a function of parametrization of the mesh,        a wavelet coefficient (d; d1, . . . , dn) verifying at least one        criterion of non-essentiality not taken into account in said        signal.

The invention also relates to a device for the coding of a source mesh(M) representing a three-dimensional object or scene, comprising meansfor determining a simple mesh (M₀) having a limited number of facets,each defined by vertices and edges, and coefficients in a base ofwavelets, corresponding to local modifications of said simple mesh (M₀),and making it possible, at each instant, to determine a function ofparametrization of the mesh, comprising means to eliminate the effect ofat least one wavelet coefficient (d; d1, . . . , dn) verifying at leastone criterion of non-essentiality, so as to give a partial mesh (M′),corresponding to a partial representation of said source mesh (M).

According to a first advantageous characteristic of a coding device suchas this, a wavelet coefficient verifies a criterion of non-essentialityif it is associated with a facet of said simple mesh (M₀) not belongingto the visible part of said source mesh (M).

According to a second advantageous characteristic of a coding devicesuch as this, a wavelet coefficient verifies a criterion ofnon-essentiality if the amplitude of said coefficient is below athreshold, determined as a function of the distance between an observerand a vertex indexing said coefficient.

Preferably, a coding device of this kind comprises means for thecomputation of said threshold, implementing the product ofmultiplication of said distance by an indicator of the capacity of aterminal for the display of said three-dimensional object or scene.

Advantageously, said coding device co-operates with means for thesorting of said wavelet coefficients as a function, firstly, of a facetof said simple mesh with which each wavelet coefficient is associatedand, secondly, the amplitude of said wavelet coefficients.

Thus, the coding device may access the result of an efficient sorting ofthe wavelet coefficients, through an organisation of the data in risingorder of identification of the facets of the source mesh and, for eachof these facets, by a sorting in amplitude of the wavelet coefficientsindexed by vertices of this facet. Such sorting means may be internal orexternal to the coding device.

When the coding device has determined that the face of a source meshbelongs to an observer's pyramid of vision, it is enough for it to scanthe list of wavelet coefficients of the corresponding face, resultingfrom the sorting operation described earlier, and stop its search whenthe coefficient encountered in the list has an amplitude below adetermined threshold.

According to a first advantageous variant of the invention, a codingdevice of this kind co-operates with means for the transmission of datato at least one remote terminal.

According to a second advantageous variant of the invention, such acoding device is integrated into a terminal enabling the display of saidobject or said scene.

The invention also relates to a device for the decoding of a source mesh(M) representing a three-dimensional object or a scene and comprisingmeans for the reception of a signal having a structure as described hereabove, and means for the reconstruction of a representation of saidobject or said scene from said received signal.

Advantageously, such a decoding device comprises means for thetransmission of at least one piece of positional information to a serverand/or a remote coding device.

Preferably, said piece or pieces of positional information belong to thegroup comprising:

-   -   a position of an observer of said three-dimensional object or        scene;    -   a direction of view of an observer of said three-dimensional        object or scene.

Indeed, these parameters enable the coding device and/or a server tocarry out the identification, within a mesh, of the facets belonging tothe observer's pyramid of vision, or to a wider pyramid, called ananticipation pyramid, and hence to determine the visually relevantwavelet coefficients.

The invention also relates to a system for the coding/decoding of a meshrepresenting a three-dimensional object or scene, comprising at leastone coding device and at least one decoding device as described hereabove.

Such a coding/decoding system may, for example, implement thebroadcasting of 3D scenes by a server, through a communications network,and enable a progressive, interactive and adaptive navigation within the3D scene by the user of a display terminal.

According to a first advantageous technique, such a coding/decodingsystem comprises first means for the transmission of at least one pieceof information on the wavelet coefficients stored in a cache memory ofsaid decoding device, to said coding device.

A piece of information of this kind, coupled with the sorting of thewavelet coefficients, by rising order of facets of the mesh on the onehand, and by amplitude on the other hand thus enables the coding deviceto know the wavelet coefficients present in the cache memory of thedecoding device or of the display terminal. Only the waveletcoefficients necessary for the representation of the 3D scene and notstored in the cache memory are thus transmitted by the coding device,thus preventing any redundant transmission of information.

According to a second advantageous technique, a coding/decoding systemof this kind comprises second means for the transmission, to said codingdevice, of at least one piece of information on the processing capacityof said decoding device, so as to determine an indicator of capacity ofsaid decoding device.

Thus, as a function of the capacity of the decoding device or of thedisplay terminal, the coding device can determine which are the waveletcoefficients to be eliminated.

The invention also relates to the application of the coding methoddescribed here above to at least one of the spheres in the groupcomprising:

-   -   the display of three-dimensional meshed objects on a screen;    -   the progressive display of three-dimensional meshed objects on a        screen, said wavelet coefficients being taken into account as        and when they arrive;    -   the display of three-dimensional meshed objects on a screen with        at least two levels of detail corresponding to one of the        successive meshes (M_(j));    -   the display of three-dimensional meshed objects on a screen with        at least two levels of detail corresponding to a partial        reconstruction of said source mesh (M) with a limited number of        wavelet coefficients;    -   the progressive transmission by a communications network of        three-dimensional meshed objects;    -   the adaptive transmission, by a communications network, of        three-dimensional meshed objects;    -   the adaptive updating of three-dimensional meshed objects        through a communications network from a remote server.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features and advantages of the invention shall appear more clearlyfrom the following description of a preferred embodiment, given by wayof a simple illustrative and non-exhaustive example, and from theappended drawings, of which:

FIG. 1 is a block diagram of the different steps implemented accordingto the invention during the elimination of non-essential waveletcoefficient;

FIG. 2 illustrates the development of the subdivisions of the meshnecessary for the representation of a 3D scene, and the resultingnecessity for the elimination of certain wavelet coefficients, asillustrated in FIG. 1;

FIG. 3 shows the table of VPC integers listing the vertices indexing thewavelet coefficients;

FIG. 4 illustrates the steps of the flattening of the mesh resultingfrom the elimination of a wavelet coefficient shown in FIG. 1;

FIG. 5 shows the step of pruning the tree representing the hierarchicalmesh, shown in FIG. 1;

FIG. 6 illustrates the steps implemented during an exemplary applicationof the invention to the broadcasting of 3D scenes or objects through atelecommunications network;

FIG. 7 shows the different operations performed by a server of thetelecommunications network in the exemplary embodiment of FIG. 6.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The general principle of the invention is based on the elimination ofwavelet coefficients associated with parts of a 3D scene or object thatare not visually relevant, so as to enable an adaptive display of saidobject or said scene.

Referring to FIG. 1, we present an embodiment of an elimination of thiskind of a wavelet coefficient associated with a non-visible part of themesh representing the 3D object or scene.

It will be recalled first of all that the invention implements severalstructures of data and algorithms enabling the elimination of waveletcoefficients that are not visually relevant, without its being necessaryto rebuild the entire associated mesh.

These data structures, which come into play in the progressive depictionof the mesh to be displayed, are the following:

-   -   a first data structure associated with a face of the mesh;    -   a second data structure associated with a vertex of the mesh;    -   a third data structure associated with the mesh itself.

A face of the mesh is characterised by four fields:

-   -   a level, which is an integer corresponding to the level of        subdivision of the face;    -   a four-element child table, each element of which is appointed        to a face;    -   a three-element comerVertex table, the elements of which are        pointers to the vertices of the face;    -   a three-element vertex edge table, whose elements are pointers        to the middle vertices of the edges of the face, if they exist.

A vertex is characterised by five fields:

-   -   a two-element parentV table, each element of which is a pointer        to a vertex, in such a way that the vertex is located        geometrically between these two elements;    -   a two-element parentF table, each element of which is a pointer        to a face, in such a way that the vertex is located in the        middle of an edge shared by these two elements;    -   a triplet of floating-point real numbers fGeom;    -   a tripletsof real numbers g;    -   a table hGeom comprising elements of equal number to the        subdivision levels, each element being a hat function        coefficient (it may be recalled that a hat function is a scale        function, refined by pieces, equal to 1 for a vertex of a mesh M        and equal to 0 for all the other vertices of this mesh. For        further information on hat functions, reference can be made        to A. Certain, J. Popovic, T. DeRose, D. Salesin and W. Stuetzle        in “Interactive Multiresolution Surface Viewing” (Computer        Graphics Proceedings 1996).

A mesh is described in two ways at the display terminal or a decodingdevice:

-   -   in sequential form, as a list of facets. This list shall be        designated hereinafter in this document by the term “display        list”;    -   in hierarchical form, as a 4-tree forest, each of the roots        being in a one-to-one correspondence with a face of the source        mesh M₀ and the children of each node corresponding to a degree        of subdivision of the source mesh. This forest shall hereinafter        be designated as Q. This forest has a field vertexTable which is        a table of vertices.

Here below, we shall recall the principle of the progressive display ofa representation of a three-dimensional object or scene. Let M be a meshto be transmitted in the form of wavelet coefficients to a displayterminal. Let it be assumed that, at an instant t, a set E_(t) ofcoefficients is transmitted. The following parametrization will becalled a temporary parametrization at the instant t:

${\sum\limits_{c_{k}^{j} \in E_{t}}{c_{k}^{j}\phi_{k}^{j}}},$and the following mesh will be called the temporary mesh at the instanttφ(M_(j)),according to the definition given by Certain et al. in “InteractiveMultiresolution Surface Viewing”, Computer Graphics Proceedings, AnnualConference Series, 1996.

According to the invention, the adaptive display of a 3D object or sceneconsists in partitioning the set E_(t) at an instant t into two subsetsP_(t) and I_(t), P_(t) representing the set of relevant waveletcoefficients and I_(t) representing the set of the useful waveletcoefficients, withP_(t)∩I_(t)=ØandP_(t)∪I_(t)=E_(t).

This partitioning depends on the viewing parameters, namely anobserver's position and his viewing direction: at two instants t₀ andt₁, it is possible to have E_(t0)=E_(t1) but P_(t0) different fromP_(t1).

Hereinafter in the document, the term “updating of the coefficients”will designate the set of processes making it possible to pass from astate E formed by a set E_(t), a partition P_(t) and I_(t), and acorresponding temporary mesh,

${\sum\limits_{c_{k}^{j} \in P_{t}}{c_{k}^{j}\phi_{k}^{j}}},$to a current state E_(c) formed by a set E_(t0), a partition P_(t0) andI_(t0), and a corresponding temporary mesh,

$\sum\limits_{c_{k}^{j} \in P_{t0}}{c_{k}^{j}{\phi_{k}^{j}.}}$

Hereinafter in the document, the term “taking account of coefficients”or “adding of coefficients” will designate the set of processes enablingpassage from one temporary mesh defined by E to another temporary meshdefined by E_(t), such that P_(t) and P_(t0) differ from each other byonly one coefficient, called an “added coefficient”. The term“elimination of coefficients” will designate all the processes enablingpassage from a first temporary mesh to a second temporary mesh, suchthat P_(t) and P_(t0) differ by only one coefficient, called an“eliminated coefficient”.

The prior art techniques enable a progressive display of the mesh M.According to a novel and inventive approach, the invention makes itpossible, by using the same data structures, to obtain an adaptivedisplay of the same mesh M, by using algorithms for the elimination ofwavelet coefficients in a short period of time, substantially of thesame magnitude as the time needed for the addition of a waveletcoefficient according to the prior art techniques.

According to a classic technique, the addition of a wavelet coefficientconsists in subdividing the temporary mesh M_(t) until the hat functioncorresponding to the added coefficient is refined on each face of themesh M_(t), and then in placing the coefficient in the field hGeom ofthe vertex indexed by said coefficient. This process is iterated foreach coefficient and, when these coefficients are visually taken intoaccount, the elements of hGeom of each vertex of the temporary mesh areadded up and added to the various contributions of the successiveparents of these vertices, so as to obtain the new position of saidvertex in the field g.

The invention enables the withdrawal of wavelet coefficients by relyingon the data structure as described here above, according to the stepsillustrated in FIG. 1:

-   -   during a step referenced 11, the opposite of the wavelet        coefficient to be eliminated is added to the parametrization        function of the mesh. Such a step can be implemented according        to the following algorithm:

procedure addOpposite (coeff: integer) for i from 1 to 3vertexTable[VPC[coeff]][i]−=coeffTable[coeff][i] end;

-   -   during a step referenced 12, the geometrical modifications        resulting from the step referenced 11 are taken into account in        cascade. At the end of this step, each vertex of the temporary        mesh has, in its field fGeom, the value of:

${\sum\limits_{c_{k}^{j} \in P_{t}}{c_{k}^{j}\phi_{k}^{j}}};$

-   -   during a step referenced 13, the two algorithms below are        implemented, so as to carry out the pruning of the tree        representing the mesh in hierarchical form:

procedure prune(Q : forest) for each root r of Q flattened(r) end andprocedure flattened (r. tree) if r is not a leaf do for each child s ofr flattened (s) end if if isFlat (f) do for each child g of f do removeg from the display list release g end for add f to the display list end.

During the step referenced 11, the addition of the opposite of thewavelet coefficient is done by introducing an additional structure VPC,illustrated in FIG. 3. Such a structure is a table 31 whose i^(th)element 32 is the index of the vertex 33 indexed by the i_(th)coefficient 32, if such a vertex 33 exists. The access to the fieldhGeom of this vertex 33 is therefore immediate.

The elimination of one or more wavelet coefficients during the stepreferenced 11 is made necessary by the development of the subdivisionsof the mesh, as illustrated in FIG. 2.

Indeed, at a given instant t, a face 21 of the base mesh presents thesubdivisions of FIG. 2 a. The temporal development of the 3D scene withwhich the mesh considered is associated leads to the development of themesh, as illustrated in FIG. 2 b.

The bold lines 22 represent the subdivisions of the mesh that havebecome unnecessary, and the lines of dashes 23 represent thesubdivisions that have become necessary. It is therefore necessary toeliminate the vertex 24, and therefore the associated waveletcoefficient. Similarly, it is necessary to introduce the vertex 25 intothe mesh and therefore add the wavelet coefficient that is associatedwith it.

FIG. 2 c shows the new subdivision of the face 21 at the instant t+1,after the geometrical modifications induced by the elimination (andaddition respectively) of the wavelet coefficient associated with thevertex 24 (and 25 respectively) have been taken into account.

Once all the eliminations of hat coefficients during the step referenced11 have been taken into account, the geometrical modifications are takeninto account, leading to the field g of the vertices of the mesh. Thistaking into account of the geometrical modifications is done during thestep referenced 12, according to the following algorithm:

procedure Evaluation ( ) queue := level 0 faces while nonempty(queue) docurrentFace := firstFace (queue) currentLevel := currentFace.level ifsubdivided(currentFace) do for each cornerVertex v of currentFace dov.g+=v.hGeom[currentLevel] v.hGeom[currentLevel] := 0 end for for eachedge Vertex e of currentFace do if e has two parent faces then e.g +=(e.parentV[1].g + e.parentV[2].g)/4 else e.g += (e.parentV[1].g +e.parentV[2].g)/2 end if end for for each child f of currentFace do addf to queue else AddAListeDisplay(currentFace) end if for each vertex vof fGeom non-zero do v.fGeom += v.g v.g := 0 end for end while end.

FIG. 4 illustrates an operation of this kind for taking account of thegeometrical modifications induced on the mesh. The mesh 40 isconsidered. In the step referenced 11, the wavelet coefficient indexedby the vertex 41 was eliminated. The taking of this elimination intoaccount is expressed by a flattening 42 of the mesh 40.

During the step referenced 13 of FIG. 1, the pruning of the tree whichhierarchically represents the reconstructed temporal mesh is carriedout. The efficiency of the algorithms described here above, implementedduring this pruning step 13, lies in the introduction of the followingdata structures:

-   -   the table 31 of VPC integers, illustrated in FIG. 3, such that        if i is the index of a wavelet coefficient, VPC[i] is the vertex        indexing this coefficient;    -   a stack of integers Gap such that if an integer i is in the        stack Gap, the display list, in the position i, contains a        non-displayed facet.

A step 13 of this kind for pruning the tree is described in detail inFIG. 5. A face 51 of the mesh considered is associated with thehierarchical tree 52. The vertex 53 shown in FIG. 5 a indexes thewavelet coefficient that is to be eliminated.

The operation passes from FIG. 5 a to FIG. 5 b in eliminating thewavelet coefficient associated with the vertex 53, and therefore thecorresponding subdivisions of the facets 54 and 55. Such facets 54 and55 are contiguous, and the vertex 53 constitutes the middle of theircommon edge. The passage from FIG. 5 a to FIG. 5 b corresponds to theelimination of the level 524 of the hierarchical tree 52.

The operation then passes from FIG. 5 b to FIG. 5 c in eliminating thesubdivisions of the contiguous facets 56 and 57 of the face 51, i.e. ineliminating the nodes corresponding to the level 523 of the hierarchicaltree 52.

The level 521 of the tree 52 corresponds to the face referenced 51 ofthe mesh. The four children of the node 521, located on the level 522 ofthe hierarchical level correspond to the facets 511, 512, 513 and 514forming the face 51.

The adaptive reconstruction of a wavelet-based 3D scene or object, usingthe methods and algorithms described here above, can be appliedespecially but not exclusively in the broadcasting of 3D scenes, by aserver, through a telecommunications network. Such a telecommunicationscommunications network may be a network with a non-guaranteed bit rate.Hereinafter, referring to FIGS. 6 and 7, we shall describe a particularexemplary embodiment of a broadcasting of 3D scenes through atelecommunications network.

In a step referenced 61, a customer sends out a request to a server bymeans of a telecommunications network, so as to be able to navigateprogressively, interactively and adaptively within a 3D scene or object.

The server processes the customer's request 61 and, in reply, sends him(62) the base mesh associated with the required 3D scene or object. Sucha step 62 is generally very fast since the base mesh or simple mesh M₀has a limited number of facets. Conventionally, the number of facets ofthe mesh M₀ is smaller than 1000.

During a step referenced 63, the customer using a display terminal maynavigate within the base mesh M₀ augmented by wavelet coefficientstransmitted by the server. Thus, the navigation starts as soon as thereception of the scale coefficients is completed, and a displayedtemporary model of the 3D scene is updated as and when the waveletcoefficients arrive.

During such a step 63, three independent processes may be implemented inparallel on the display terminal:

-   -   the adaptive reconstruction 64, as a function of the wavelet        coefficients present in a cache memory of the display terminal,        of the observer's position and his viewing parameters, namely        his direction and his angle of view;    -   the regular transmission 65 to the server of the observer's        position and his viewing parameters;    -   the reception of the wavelet coefficients necessary for the        adaptive display of the 3D scene, coming from the server, and        the consequent reorganisation of the cache memory of the display        terminal.

Indeed, the wavelet coefficients are stored in a cache memory of thecustomer's terminal, and the temporary mesh is regularly updated throughthe use of the subset of stored wavelet coefficients, representing thevisually relevant coefficients, which are identified from the parametersof navigation such as the observer's position and his direction ofvision.

Each time that the virtual observer of the 3D object or scene scans apredetermined distance delta, a new partition is made of the set ofwavelet coefficients present in the cache memory. Two lists are thenprepared: one list of coefficients to be added to the temporaryrepresentation, and one list of coefficients to be eliminated from thisrepresentation.

The wavelet coefficients to be eliminated are processed one by oneaccording to the method described here above and illustrated in FIG. 1:

-   -   the opposite of each of the wavelet coefficients to be        eliminated is added during a step referenced 11;    -   the eliminations of the wavelet coefficients are taken into        account geometrically in cascade during a step referenced 12,        according to an adapted algorithm presented here above;    -   the tree of this representation of the mesh is pruned, during a        step referenced 13, according to an adapted algorithm presented        earlier in the document.

Control is then returned to the customer, who can view the meshassociated with the 3D scene, in shifting the virtual observer andmodifying his direction and angle of view. The process is repeated assoon as the distance traveled by the virtual observer is equal to delta.

The implementation of the step referenced 63 of FIG. 6 necessitates theperformance, on the server side, of a number of tasks equal to thenumber of customers who have sent out a demand 61, such tasks consistingin selecting, for each customer who has transmitted (65) his navigationparameters, the list of wavelet coefficients deemed to be visuallyrelevant, and sending them (66) through the communications network.

The visual relevance of a wavelet coefficient is determined by a serveraccording to the method illustrated in FIG. 7.

During a step referenced 71, the server identifies the intersectionbetween the observer's pyramid of view (or a bigger pyramid known as thepyramid of anticipation) and the 3D scene that has been the object ofthe demand 61.

The server then selects (72) the wavelet coefficients indexed byvertices in the intersection identified.

During a step referenced 73, the server makes an evaluation, for eachselected coefficient wavelet, of the product of multiplication of anindicator of capacity of the terminal by the distance from the observerto the vertex indexing the coefficient. This product constitutes athreshold, with which the server compares the amplitude of the waveletcoefficient.

An indicator of this kind may be a constant, fixed a priori, as afunction of the processing capacity of the observer's display terminal.For example, such a constant is determined, prior to the start of thenavigation, as a function of the type of processor available to theobserver's display terminal.

An indicator of this kind may also vary during navigation, as a functionof the current processing capacity of the display terminal. It is thuspossible to envisage the implementation, at the beginning of thenavigation, of a step for adapting the value of the indicator to thenumber of images per second that it should be possible to display on theterminal. The value of the indicator can then be updated, during thenavigation, as a function of the resources of the terminal consumed byother applications or other processes which it deals withsimultaneously, so as to maintain the initially fixed instruction on thenumber of images displayed per second (namely the “frame rate”).

The information on the processing capacity of the display terminal issent to the server by the display terminal.

At the end of the step referenced 73, the server keeps only (74) thewavelet coefficients whose amplitude is higher than the computedthreshold, then sends them (75) to the customer by means of thecommunications network.

According to an alternative embodiment, prior to the transmission step75, the server sends out a demand to the cache memory of the customersterminal in order to find out the wavelet coefficients that are alreadythere, so as to avoid any unnecessary transfer of the coefficients. Thecustomer's terminal then sends a one-column table of integers back tothe server specifying, for each of the faces of the mesh, the number ofwavelet coefficients associated with this face present in the cachememory of the terminal.

The wavelet coefficients may be sorted out efficiently by the server orby external sorting means implemented by another terminal with which theserver co-operates through a rational organisation of a databaseassembling all the wavelet coefficients. For example, the sorting means(internal and/or external to the server) rely on an organisation basedon a rising order of identification of the facets of the base mesh M₀,and, for each of these assets, on a sorting in amplitude of the waveletcoefficients indexed by vertices of the facets considered.

In this way, when the device in charge of the sorting of thecoefficients has determined that a face F of the simple mesh M₀ islocated in the observer's pyramid of vision (or in a wider pyramid knownas the pyramid of anticipation), all it has to do is to scan the list ofthe wavelet coefficients of the face F, until it reaches a waveletcoefficient whose amplitude is lower than the threshold computed duringthe step referenced 73.

It is also possible to envisage an alternative embodiment according towhich the customer, having sent the demand 61, himself determines thewavelet coefficients needed by him to view the 3D scene or object thatis the object of his request. The customer can then send a secondrequest to the server, asking for the dispatch, through thecommunications network, of the wavelet coefficients that he needs.

1. A method for coding a source mesh representing a three-dimensionalobject or a scene, using a simple mesh having a limited number offacets, each defined by vertices and edges, and coefficients in a baseof wavelets, corresponding to local modifications of said simple mesh,and making it possible, at each instant, to determine a function ofparametrization of the source mesh, characterized in that it comprises:a step to eliminate an effect of at least one wavelet coefficientverifying at least one criterion of non-essentiality if it is associatedwith a facet of said simple mesh not belonging to a visible part of saidsource mesh, so as to give a partial mesh, corresponding to a partialrepresentation of said source mesh; and a step of flattening the sourcemesh by the addition, to said parametrization function, of an oppositeof said wavelet coefficient or coefficients to be eliminated.
 2. Thecoding method according to claim 1, characterized in that said partialmesh corresponds to a set of trees, each of said trees representing aface of said simple mesh and comprising a set of nodes each representinga face of a refined mesh of the face considered of said simple mesh. 3.The coding method according to claim 2, characterized in that itcomprises a step of withdrawing at least one wavelet coefficient to beeliminated, comprising the following steps: a taking into account of anopposite of said wavelet coefficient or coefficients; a taking intoaccount of the modifications induced by the previous step; theelimination of the parts of the trees defining and influenced solely bysaid wavelet coefficient or coefficients.
 4. The coding method accordingto claim 3, characterized in that said step of taking the modificationsinto account implements a recursive pruning algorithm.
 5. The codingmethod according to claim 1, characterized in that it implements a setof pointers respectively pointing to all the vertices of said partialmesh, so as to directly reach a vertex indexing a wavelet coefficient tobe eliminated.
 6. The coding method according to claim 5, characterizedin that said pointers are assembled in a table of integers.
 7. A methodfor coding a source mesh representing a three-dimensional object or ascene, using a simple mesh having a limited number of facets, eachdefined by vertices and edges, and coefficients in a base of wavelets,corresponding to local modifications of said simple mesh, and making itpossible, at each instant, to determine a function of parametrization ofthe source mesh, characterized in that it comprises: a step to eliminatean effect of at least one wavelet coefficient verifying a criterion ofnon-essentiality if an amplitude of said wavelet coefficient is below athreshold, determined as a function of a distance between an observerand a vertex indexing said coefficient, so as to give a partial mesh,corresponding to a partial representation of said source mesh; and astep of flattening the source mesh by the addition, to saidparametrization function, of an opposite of said wavelet coefficient orcoefficients to be eliminated.
 8. The coding method according to claim7, characterized in that a wavelet coefficient verifies a criterion ofnon-essentiality if it is associated with a facet of said simple meshnot belonging to a visible part of said source mesh.
 9. The codingmethod according to claim 7, characterized in that it comprises a stepof computing said threshold, taking into account of said distance and ofan indicator of capacity of a terminal for a display of saidthree-dimensional object or scene.
 10. The coding method according toclaim 9, characterized in that said capacity indicator is a constantdepending on a processing capacity of said terminal.
 11. The codingmethod according to claim 9, characterized in that said indicator ofcapacity varies during the display of said three-dimensional object orscene, as a function of a current processing capacity of said terminal.12. An application of the coding method according to claim 1 to at leastone member of the group comprising: displaying three-dimensional meshedobjects on a screen; progressively displaying three-dimensional meshedobjects on a screen, said wavelet coefficients being taken into accountas and when they arrive; displaying three-dimensional meshed objects ona screen with at least two levels of detail corresponding to one of thesuccessive meshes; displaying three-dimensional meshed objects on ascreen with at least two levels of detail corresponding to a partialreconstruction of said source mesh with a limited number of waveletcoefficients; progressively transmitting, by a communications network,three-dimensional meshed objects; adaptively transmitting, by acommunications network, of three-dimensional meshed objects; andadaptively updating three-dimensional objects through a communicationsnetwork from a remote server.